package org.eiahe.hr.interview.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.ehe.common.mybatis.core.page.PageQuery;
import org.ehe.common.mybatis.core.page.TableDataInfo;
import org.eiahe.hr.interview.domain.InterviewQuestion;
import org.eiahe.hr.interview.domain.vo.InterviewQuestionVO;
import org.eiahe.hr.interview.domain.dto.InterviewQuestionQueryDTO;

import java.util.List;

/**
 * 面试题库信息表
 * @author :zhangnn
 * @className :InterviewQuestionBankService
 * @description: TODO
 * @date 2025-08-13 16:46:25
 */
public interface InterviewQuestionService extends IService<InterviewQuestion> {
    /**
     * 分页
     * @param queryDTO
     * @param pageQuery
     * @return
     */
    TableDataInfo<InterviewQuestionVO> selectQuestionBankPage(InterviewQuestionQueryDTO queryDTO, PageQuery pageQuery);

    /**
     * 详情
     * @param id
     * @return
     */
    InterviewQuestion queryById(Long id);

    /**
     * 新增
     * @param question
     */
    void insertQuestion(InterviewQuestion question);

    /**
     * 编辑
     * @param questionBank
     * @return
     */
    boolean updateQuestion(InterviewQuestion questionBank);

    /**
     * 删除问题
     * @param id
     * @return
     */
    boolean deleteQuestion(Long id);

    /**
     * 生成面试题目
     * @param categoryId
     * @param level
     * @return
     */
    List<InterviewQuestion> generateInterviewQuestions(Long categoryId, Integer level);

    InterviewQuestion queryBehaviorQuestionById(Long id,String bankName);

    void insertBehaviorQuestion(InterviewQuestion question);

    boolean updateBehaviorQuestion(InterviewQuestion question);

    boolean deleteBehaviorQuestion(Long id);
}
